//package com.ants.platform.core.plugins.ftp;
//
//import org.apache.commons.lang3.StringUtils;
//import org.apache.commons.net.ftp.FTPClient;
//import org.apache.commons.net.ftp.FTPReply;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.InitializingBean;
//import org.springframework.beans.factory.annotation.Value;
//
//import java.io.IOException;
//
///**
// * Created by liushun on 2016/7/23.
// */
//public class FtpParams implements InitializingBean {
//
//    private static final Logger logger = LoggerFactory.getLogger(FtpParams.class);
//
//    public FTPClient ftp = null;
//
//    @Value("${ftp.host:}")
//    private String host; //主机
//
//    @Value("${ftp.port:21}")
//    private int port; //端口
//
//    @Value("${ftp.account:}")
//    private String account; //账号
//
//    @Value("${ftp.password:}")
//    private String password; //密码
//
//    @Value("${ftp.root:}")
//    private String root; //目录
//
//    @Value("${ftp.encoding:GBK}")
//    private String encoding; //编码
//
//    @Value("${ftp.timeOut:12000}")
//    private int timeOut; //超时时间
//
//    //初始化FTP服务器
//    public void InitFTPClient() {
//        try {
//            this.ftp = new FTPClient();
//            //建立连接
//            ftp.connect(host, port);
//            //登入
//            ftp.login(account, password);
//            //设置目录
//            ftp.changeWorkingDirectory(root);
//            ftp.setControlEncoding(encoding);
//            int replyCode = ftp.getReplyCode();
//            ftp.setDataTimeout(timeOut);
//            if (!FTPReply.isPositiveCompletion(replyCode)) {
//                ftp.disconnect();
//                throw new RuntimeException("连接 FTP 配置参数错误连接失败，请认真检查配置！ ");
//            } else
//                System.err.println(host + " login success !");
//        } catch (IOException e) {
//            logger.error("登录ftp服务器 " + host + " 失败，连接超时！" + e.getMessage());
//            this.ftp = null;
//        }
//    }
//
//    /**
//     * set执行完后调用
//     *
//     * @throws Exception
//     */
//    public void afterPropertiesSet() throws Exception {
//        if (StringUtils.isEmpty(host))
//            throw new RuntimeException("注入了FTP功能，配置文件中却没有配置FTP主机: ftp.host");
//        else if (port == 0)
//            throw new RuntimeException("注入了FTP功能，配置文件中却没有配置端口: ftp.port");
//        else if (StringUtils.isEmpty(account))
//            throw new RuntimeException("注入了FTP功能，配置文件中却没有配置账号: ftp.account");
//        else if (StringUtils.isEmpty(password))
//            throw new RuntimeException("注入了FTP功能，配置文件中却没有配置密码: ftp.password");
//        else if (StringUtils.isEmpty(root))
//            throw new RuntimeException("注入了FTP功能，配置文件中却没有配置目录: ftp.root");
//        else {
//            //初始化连接
//            InitFTPClient();
//            logger.info("\n=============================================================================================" +
//                    "\n===========================  连接 " + host + " 初始化 FTP 成功!" +
//                    "\n=============================================================================================");
//        }
//
//    }
//}
